#ifndef __IDEATESTVECTORSSET5__
#define __IDEATESTVECTORSSET5__

#include "../plainkeycipher.h"

// Test vectors from <https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/idea/Idea-128-64.verified.test-vectors>

const std::vector <PlainKeyCipher> IDEA_TEST_VECTORS_SET_5 = {
    std::make_tuple("78071ee87f0130e8", "80000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("98aa167965b52792", "40000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("20bc104058293c2d", "20000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("6050001ffa1a0219", "10000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("51d07eab030c7ba3", "08000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("5c2db4e17368c7b4", "04000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("702ad34db37c6e58", "02000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("82997fedeb622dac", "01000000000000000000000000000000", "0000000000000000"),
    std::make_tuple("00f29b90ef196f2e", "00800000000000000000000000000000", "0000000000000000"),
    std::make_tuple("50156b3387228984", "00400000000000000000000000000000", "0000000000000000"),
    std::make_tuple("0f41e41cf1e31023", "00200000000000000000000000000000", "0000000000000000"),
    std::make_tuple("424f1393c36c787d", "00100000000000000000000000000000", "0000000000000000"),
    std::make_tuple("aec2f7df4625d267", "00080000000000000000000000000000", "0000000000000000"),
    std::make_tuple("1dcf880d88a40cc0", "00040000000000000000000000000000", "0000000000000000"),
    std::make_tuple("7b4711086141dddf", "00020000000000000000000000000000", "0000000000000000"),
    std::make_tuple("b505d373fbf27c39", "00010000000000000000000000000000", "0000000000000000"),
    std::make_tuple("14d47c44835eeb99", "00008000000000000000000000000000", "0000000000000000"),
    std::make_tuple("e5a7e81cecc9b474", "00004000000000000000000000000000", "0000000000000000"),
    std::make_tuple("3a11c283da6f60c9", "00002000000000000000000000000000", "0000000000000000"),
    std::make_tuple("71eae2049e1887ee", "00001000000000000000000000000000", "0000000000000000"),
    std::make_tuple("9b437a81e33694d5", "00000800000000000000000000000000", "0000000000000000"),
    std::make_tuple("27a1ba81e070a4eb", "00000400000000000000000000000000", "0000000000000000"),
    std::make_tuple("e9173ef408c4ddb7", "00000200000000000000000000000000", "0000000000000000"),
    std::make_tuple("01834e54ce64f9ce", "00000100000000000000000000000000", "0000000000000000"),
    std::make_tuple("7bb7655098fa86ad", "00000080000000000000000000000000", "0000000000000000"),
    std::make_tuple("bc42a5f19507f0d9", "00000040000000000000000000000000", "0000000000000000"),
    std::make_tuple("72473c47fe650f94", "00000020000000000000000000000000", "0000000000000000"),
    std::make_tuple("415d572e8b0c411a", "00000010000000000000000000000000", "0000000000000000"),
    std::make_tuple("937fc76683ba171a", "00000008000000000000000000000000", "0000000000000000"),
    std::make_tuple("412689c8c42ce82a", "00000004000000000000000000000000", "0000000000000000"),
    std::make_tuple("668590908bc18834", "00000002000000000000000000000000", "0000000000000000"),
    std::make_tuple("acdfb787978b4dc2", "00000001000000000000000000000000", "0000000000000000"),
    std::make_tuple("cea444c8ce44c2c2", "00000000800000000000000000000000", "0000000000000000"),
    std::make_tuple("f8f9a74f773af827", "00000000400000000000000000000000", "0000000000000000"),
    std::make_tuple("ff3000af4087bf1f", "00000000200000000000000000000000", "0000000000000000"),
    std::make_tuple("4f1d2f78e00ed078", "00000000100000000000000000000000", "0000000000000000"),
    std::make_tuple("020c060173f57df3", "00000000080000000000000000000000", "0000000000000000"),
    std::make_tuple("c11da87bd6174883", "00000000040000000000000000000000", "0000000000000000"),
    std::make_tuple("d73ccb416ec3923a", "00000000020000000000000000000000", "0000000000000000"),
    std::make_tuple("1d8a3c51e599bdc0", "00000000010000000000000000000000", "0000000000000000"),
    std::make_tuple("4f78a0b0420f1f5e", "00000000008000000000000000000000", "0000000000000000"),
    std::make_tuple("9f0f377c3ebc7823", "00000000004000000000000000000000", "0000000000000000"),
    std::make_tuple("cfd6afab61ed7408", "00000000002000000000000000000000", "0000000000000000"),
    std::make_tuple("f764e0629c53720d", "00000000001000000000000000000000", "0000000000000000"),
    std::make_tuple("f596df8b7e63100c", "00000000000800000000000000000000", "0000000000000000"),
    std::make_tuple("cea11289498d2f95", "00000000000400000000000000000000", "0000000000000000"),
    std::make_tuple("8569b4195f87b731", "00000000000200000000000000000000", "0000000000000000"),
    std::make_tuple("2f39c8595258c9a1", "00000000000100000000000000000000", "0000000000000000"),
    std::make_tuple("b0bb70b7e277e269", "00000000000080000000000000000000", "0000000000000000"),
    std::make_tuple("9fc141f1a64190c1", "00000000000040000000000000000000", "0000000000000000"),
    std::make_tuple("c8d5bf3d72650600", "00000000000020000000000000000000", "0000000000000000"),
    std::make_tuple("30fae75f0cce0174", "00000000000010000000000000000000", "0000000000000000"),
    std::make_tuple("102260b390107e64", "00000000000008000000000000000000", "0000000000000000"),
    std::make_tuple("90d3477061f8fb40", "00000000000004000000000000000000", "0000000000000000"),
    std::make_tuple("fd4fbb0ad84300a0", "00000000000002000000000000000000", "0000000000000000"),
    std::make_tuple("b07ffd863edc3b04", "00000000000001000000000000000000", "0000000000000000"),
    std::make_tuple("9429e1c4642f1250", "00000000000000800000000000000000", "0000000000000000"),
    std::make_tuple("9da0130beff2ee23", "00000000000000400000000000000000", "0000000000000000"),
    std::make_tuple("3cfc0000f7fe3198", "00000000000000200000000000000000", "0000000000000000"),
    std::make_tuple("dc2bbbbb956c9720", "00000000000000100000000000000000", "0000000000000000"),
    std::make_tuple("5cf6cdb2e90cc73a", "00000000000000080000000000000000", "0000000000000000"),
    std::make_tuple("460640f5067ca894", "00000000000000040000000000000000", "0000000000000000"),
    std::make_tuple("9ac3397bb3c0e08d", "00000000000000020000000000000000", "0000000000000000"),
    std::make_tuple("5dff62ff39e86e59", "00000000000000010000000000000000", "0000000000000000"),
    std::make_tuple("d03652efaebde7c4", "00000000000000008000000000000000", "0000000000000000"),
    std::make_tuple("c975419434dc59e9", "00000000000000004000000000000000", "0000000000000000"),
    std::make_tuple("08c2f2a853e65b62", "00000000000000002000000000000000", "0000000000000000"),
    std::make_tuple("d06933570adf1770", "00000000000000001000000000000000", "0000000000000000"),
    std::make_tuple("982dae603bd972b6", "00000000000000000800000000000000", "0000000000000000"),
    std::make_tuple("82d1c2079912e6ab", "00000000000000000400000000000000", "0000000000000000"),
    std::make_tuple("5bd0a6c11a41c763", "00000000000000000200000000000000", "0000000000000000"),
    std::make_tuple("6cd4381a523716f0", "00000000000000000100000000000000", "0000000000000000"),
    std::make_tuple("6a9ef2f77de21d8e", "00000000000000000080000000000000", "0000000000000000"),
    std::make_tuple("0553f2da029cf102", "00000000000000000040000000000000", "0000000000000000"),
    std::make_tuple("2ce768e22ed768b8", "00000000000000000020000000000000", "0000000000000000"),
    std::make_tuple("f085e604e26c0ab4", "00000000000000000010000000000000", "0000000000000000"),
    std::make_tuple("966b11ef02176a6e", "00000000000000000008000000000000", "0000000000000000"),
    std::make_tuple("e1bd49b0c0534cee", "00000000000000000004000000000000", "0000000000000000"),
    std::make_tuple("eb208ccac317a132", "00000000000000000002000000000000", "0000000000000000"),
    std::make_tuple("03797c90bf07c736", "00000000000000000001000000000000", "0000000000000000"),
    std::make_tuple("9640966a738a706c", "00000000000000000000800000000000", "0000000000000000"),
    std::make_tuple("ce989dd00307ad8b", "00000000000000000000400000000000", "0000000000000000"),
    std::make_tuple("daa2c4be43d75bb7", "00000000000000000000200000000000", "0000000000000000"),
    std::make_tuple("91b53f1bdf3afbd6", "00000000000000000000100000000000", "0000000000000000"),
    std::make_tuple("90740a948e9e3b93", "00000000000000000000080000000000", "0000000000000000"),
    std::make_tuple("67169672c0caf670", "00000000000000000000040000000000", "0000000000000000"),
    std::make_tuple("2f123f48482c5f12", "00000000000000000000020000000000", "0000000000000000"),
    std::make_tuple("0adad627f50721fb", "00000000000000000000010000000000", "0000000000000000"),
    std::make_tuple("db6e9e3b7612560a", "00000000000000000000008000000000", "0000000000000000"),
    std::make_tuple("d721d05aefcaa18e", "00000000000000000000004000000000", "0000000000000000"),
    std::make_tuple("b4a5e438241d67a6", "00000000000000000000002000000000", "0000000000000000"),
    std::make_tuple("7b44667d1e796531", "00000000000000000000001000000000", "0000000000000000"),
    std::make_tuple("e698be39aea13c79", "00000000000000000000000800000000", "0000000000000000"),
    std::make_tuple("faa7517dbf38ab35", "00000000000000000000000400000000", "0000000000000000"),
    std::make_tuple("106eec176ece4259", "00000000000000000000000200000000", "0000000000000000"),
    std::make_tuple("8fa2d68b88d85e2b", "00000000000000000000000100000000", "0000000000000000"),
    std::make_tuple("e3c1ed0efc4f6f38", "00000000000000000000000080000000", "0000000000000000"),
    std::make_tuple("7c4d85f6b673184c", "00000000000000000000000040000000", "0000000000000000"),
    std::make_tuple("75ad06e940cb6ecb", "00000000000000000000000020000000", "0000000000000000"),
    std::make_tuple("f6d58769dc0f7d8b", "00000000000000000000000010000000", "0000000000000000"),
    std::make_tuple("36b001bdd4918eef", "00000000000000000000000008000000", "0000000000000000"),
    std::make_tuple("89f000ddda93b90f", "00000000000000000000000004000000", "0000000000000000"),
    std::make_tuple("6af0006dc391471f", "00000000000000000000000002000000", "0000000000000000"),
    std::make_tuple("6ee08035b72bf227", "00000000000000000000000001000000", "0000000000000000"),
    std::make_tuple("de18c019ddb10dcb", "00000000000000000000000000800000", "0000000000000000"),
    std::make_tuple("0579e00b945ed0b2", "00000000000000000000000000400000", "0000000000000000"),
    std::make_tuple("e2d5f6e83fbbe35d", "00000000000000000000000000200000", "0000000000000000"),
    std::make_tuple("cbe37b75a281f1ae", "00000000000000000000000000100000", "0000000000000000"),
    std::make_tuple("f0903db58beff8cf", "00000000000000000000000000080000", "0000000000000000"),
    std::make_tuple("71519ce10ab17a10", "00000000000000000000000000040000", "0000000000000000"),
    std::make_tuple("5c694e7137f93d08", "00000000000000000000000000020000", "0000000000000000"),
    std::make_tuple("adb5a739ee1d1e84", "00000000000000000000000000010000", "0000000000000000"),
    std::make_tuple("6cdbd39d32ce0f42", "00000000000000000000000000008000", "0000000000000000"),
    std::make_tuple("364ae9d1995d07c1", "00000000000000000000000000004000", "0000000000000000"),
    std::make_tuple("9b3774e9ccb083e0", "00000000000000000000000000002000", "0000000000000000"),
    std::make_tuple("cc004681fe204800", "00000000000000000000000000001000", "0000000000000000"),
    std::make_tuple("25012041f810e200", "00000000000000000000000000000800", "0000000000000000"),
    std::make_tuple("cf81092125081100", "00000000000000000000000000000400", "0000000000000000"),
    std::make_tuple("e4c1019111840880", "00000000000000000000000000000200", "0000000000000000"),
    std::make_tuple("e76105c915c20c40", "00000000000000000000000000000100", "0000000000000000"),
    std::make_tuple("f4bb07e11a0b0e1a", "00000000000000000000000000000080", "0000000000000000"),
    std::make_tuple("f75986f389f08110", "00000000000000000000000000000040", "0000000000000000"),
    std::make_tuple("f9a7466c4600406a", "00000000000000000000000000000020", "0000000000000000"),
    std::make_tuple("f9ef2643265c205b", "00000000000000000000000000000010", "0000000000000000"),
    std::make_tuple("c1df2ddb127cdfe1", "00000000000000000000000000000008", "0000000000000000"),
    std::make_tuple("8a1495e062113be9", "00000000000000000000000000000004", "0000000000000000"),
    std::make_tuple("8a2ad21859d1e3e1", "00000000000000000000000000000002", "0000000000000000"),
    std::make_tuple("f61d37ec1c099de5", "00000000000000000000000000000001", "0000000000000000"),
};

#endif // __IDEATESTVECTORSSET5__
